//1.认识变量的作用域
//num1所处全局作用域，在任何位置都已访问
/*
var num1 = 2;
function fn(){
  //num2所处局部作用域，只能在局部使用
  var num2 = 4;
  //console.log(num1);
  console.log(num2);
}
fn();
//console.log(num1);
console.log(num2);
*/
//变量声明的提升
//1.检查代码所有的变量
//2.把所有的变量名提升到最前边，但是不提升变量的值
/*
var num1;
console.log(num1);//undefined
num1 = 1;

console.log(num1);//?
var num1 = 1;

function fn(){
  //var uname;
  console.log(uname);
  var uname = 'tom';
}
fn();

function fn(){
  num1 = 1;//不加var 全局变量
  console.log(num1);
}
fn();
console.log(num1);

var num1 = 1;
function fn(){
  num1 = 2;//可以在函数内部修改全局变量
}
console.log(num1); //1
fn();
console.log(num1);//2
*/

var a = 3;

function fn(num){
   //num是形参，是一个局部的变量
   num += 5;
   console.log(num);
}

fn(a);
console.log(a);
console.log(num);






